--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
docs/source/software.rst 72db6e0ef2e9da96b5f164eb7c37ddbf3022bdec (72db6e0e) Text, 13.75 KB
Tb4b4b4.. Tff7b72_software-main:
Tc9d1d9************************
Tc9d1d9Programs Using Reticulum
Tc9d1d9************************
This chapter provides a non-exhaustive list of notable programs, systems and application-layer
protocols that have been built using Reticulum.
These programs will let you get a feel for how Reticulum works. Most of them have been designed
to run well even over slow networks based on LoRa or packet radio, but all can also be used over fast
links, such as local WiFi, wired Ethernet, the Internet, or any combination.
As such, it is easy to get started experimenting, without having to set up any radio
transceivers or infrastructure just to try it out. Launching the programs on separate
devices connected to the same WiFi network is enough to get started, and physical
radio interfaces can then be added later.
Tc9d1d9Programs & Utilities
Tc9d1d9====================
Many different applications using Reticulum already exist, serving a wide variety of purposes
from day-to-day communication and information sharing to systems administration and tackling
advanced networking and communications challenges.
Development of Reticulum-based applications and systems is ongoing, so consider this list
a non-exhaustive starting point of *some* of the options available. With a bit of searching,
primarily over Reticulum itself, you will find many more interesting things.
Tc9d1d9Remote Shell
Tc9d1d9^^^^^^^^^^^^
The Ta5d6ff`rnsh Tffd700<https://github.com/acehoss/rnsh>Ta5d6ff`_ program lets you establish fully interactive
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
remote system, and is similar to how Ta5d6ff``Ta5d6ffsshTa5d6ff`` works. The Ta5d6ff``Ta5d6ffrnshTa5d6ff`` program is very efficient, and
can facilitate fully interactive shell sessions, even over extremely low-bandwidth links,
such as LoRa or packet radio.
In addition to the default, fully interactive terminal mode,
for extremely limited links, Ta5d6ff``Ta5d6ffrnshTa5d6ff`` offers line-interactive mode, allowing you to interact
with remote systems, even when link throughput is counted in a few hundreds of bits per second.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9Nomad Network
Tc9d1d9^^^^^^^^^^^^^
The terminal-based program Ta5d6ff`Nomad Network Tffd700<https://github.com/markqvist/nomadnet>Ta5d6ff`_
provides a complete encrypted communications suite built with Reticulum. It features
encrypted messaging (both direct and delayed-delivery for offline users), file sharing,
and has a built-in text-browser and page server with support for dynamically rendered pages,
user authentication and more.
Tb4b4b4.. Tff7b72imageTb4b4b4:: screenshots/nomadnet_3.png
T56d364:target: https://github.com/markqvist/nomadnet
Ta5d6ff`Nomad Network Tffd700<https://github.com/markqvist/nomadnet>Ta5d6ff`_ is a user-facing client
for the messaging and information-sharing protocol LXMF.
Tc9d1d9RNS Page Node
Tc9d1d9^^^^^^^^^^^^^
Ta5d6ff`RNS Page Node Tffd700<https://git.quad4.io/RNS-Things/rns-page-node>Ta5d6ff`_ is a simple way to serve pages and files to any other Nomad Network compatible client. Drop-in replacement for NomadNet nodes that primarily serve pages and files.
Tc9d1d9Retipedia
Tc9d1d9^^^^^^^^^
You can host the entirity of Wikipedia (or any Ta5d6ff``Ta5d6ff.zimTa5d6ff``) file to other Nomad Network clients using Ta5d6ff`Retipedia Tffd700<https://github.com/RFnexus/Retipedia>Ta5d6ff`_.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9Sideband
Tc9d1d9^^^^^^^^
If you would rather use an LXMF client with a graphical user interface, you can take
a look at Ta5d6ff`Sideband Tffd700<https://unsigned.io/sideband>Ta5d6ff`_, which is available for Android,
Linux, macOS and Windows. Sideband is an advanced LXMF and LXST client, and a multi-purpose Reticulum
utility, with features and functionality targeted at advanced users.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/sideband_devices.webp
T56d364:align: center
T56d364:target: https://unsigned.io/sideband
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/sideband_devices.png
T56d364:align: center
T56d364:target: https://unsigned.io/sideband
Sideband allows you to communicate with other people or LXMF-compatible
systems over Reticulum networks using LoRa, Packet Radio, WiFi, I2P, Encrypted QR
Paper Messages, or anything else Reticulum supports.
It also interoperates with all other LXMF clients, and provides advanced features such as voice messaging,
real-time voice calls, file attachments, private telemetry sharing, and a full
plugin system for expandability.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9MeshChatX
Tc9d1d9^^^^^^^^
A Ta5d6ff`Reticulum MeshChat fork from the future Tffd700<https://git.quad4.io/RNS-Things/MeshChatX>Ta5d6ff`_, with the goal of providing everything you need for Reticulum, LXMF, and LXST in one beautiful and feature-rich application. This project is separate from the original Ta5d6ff`Reticulum MeshChat Tffd700<https://github.com/liamcottle/reticulum-meshchat>Ta5d6ff`_ project, and is not affiliated with the original project, but is a much more up-to-date, comprehensive and well-maintained fork.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/meshchatx.webp
T56d364:align: center
T56d364:target: https://git.quad4.io/RNS-Things/MeshChatX
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/meshchatx.png
T56d364:align: center
T56d364:target: https://git.quad4.io/RNS-Things/MeshChatX
Features include full LXST support, custom voicemail, phonebook, contact sharing, and ringtone support, multi-identity handling, modern UI/UX, offline documentation, expanded tools, page archiving, integrated maps, telemetry and improved application security.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9Reticulum Relay Chat
Tc9d1d9^^^^^^^^^^^^^^^^^^^^
Ta5d6ff`Reticulum Relay Chat Tffd700<https://rrc.kc1awv.net/>Ta5d6ff`_ is a live chat system built on top of the Reticulum Network Stack. It exists to let people talk to each other in real time over Reticulum without dragging in message databases, synchronization engines, or architectural commitments they did not ask for.
The Ta5d6ff`rrcd Tffd700<https://github.com/kc1awv/rrcd>Ta5d6ff`_ program provides a functional, reference RRC hub-server daemon implementation. RRC user clients include Ta5d6ff`rrc-gui Tffd700<https://github.com/kc1awv/rrc-gui>Ta5d6ff`_ and Ta5d6ff`rrc-web Tffd700<https://github.com/kc1awv/rrc-web>Ta5d6ff`_.
RRC is closer in spirit to IRC than to modern “everything platforms.” You connect, you join a room, you talk, and then you leave. If you were present, you saw the conversation. If you were not, the conversation did not wait for you. This is not an accident. This is the entire design.
Tc9d1d9RetiBBS
Tc9d1d9^^^^^^^
Ta5d6ff`RetiBBS Tffd700<https://github.com/kc1awv/RetiBBS>Ta5d6ff`_ is a bulletin board system implementation for Reticulum networks.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/retibbs.webp
T56d364:align: center
T56d364:target: https://github.com/kc1awv/RetiBBS
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/retibbs.png
T56d364:align: center
T56d364:target: https://github.com/kc1awv/RetiBBS
RetiBBS allows users to communicate through message boards in a secure manner.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9RBrowser
Tc9d1d9^^^^^^^^
The Ta5d6ff`rBrowser Tffd700<https://github.com/fr33n0w/rBrowser>Ta5d6ff`_ program is a cross-platform, standalone, web-based browser for exploring NomadNetwork Nodes over Reticulum Network. It automatically discovers NomadNet nodes through network announces and provides a user-friendly interface for browsing distributed content with Micron markup support.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/rbrowser.webp
T56d364:align: center
T56d364:target: https://github.com/fr33n0w/rBrowser
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/rbrowser.png
T56d364:align: center
T56d364:target: https://github.com/fr33n0w/rBrowser
Includes useful features like automatic listening for announce, adding nodes to favorites, browsing and rendering any kind of NomadNet links, downloading files from remote nodes, a unique local NomadNet Search Engine and more.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9Reticulum Network Telephone
Tc9d1d9^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Ta5d6ff``Ta5d6ffrnphoneTa5d6ff`` program, included as part of the Ta5d6ff`LXST Tffd700<https://github.com/markqvist/LXST>Ta5d6ff`_ package is a command-line Reticulum telephone utility and daemon, that allows building physical, hardware telephones for LXST and Reticulum, as well as simply performing calls via the command line.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/rnphone.webp
T56d364:align: center
T56d364:target: https://github.com/markqvist/LXST
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/rnphone.jpg
T56d364:align: center
T56d364:target: https://github.com/markqvist/LXST
It supports interfacing directly with hardware peripherals such as GPIO keypads and LCD displays, providing a modular system for building secure hardware telephones.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9LXST Phone
Tc9d1d9^^^^^^^^^^
The Ta5d6ff`LXST Phone Tffd700<https://github.com/kc1awv/lxst_phone>Ta5d6ff`_ program is a cross-platform desktop application for performing LXST voice calls over Reticulum.
Tb4b4b4.. Tff7b72onlyTb4b4b4:: html
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/lxst_phone.webp
T56d364:align: center
T56d364:target: https://github.com/kc1awv/lxst_phone
Tb4b4b4.. Tff7b72onlyTb4b4b4:: latex
Tb4b4b4 .. Tff7b72imageTb4b4b4:: screenshots/lxst_phone.png
T56d364:align: center
T56d364:target: https://github.com/kc1awv/lxst_phone
It supports various advanced features such as SAS verification, peer blocking, rate limiting, encrypted call history storage and contact management.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9LXMFy
Tc9d1d9^^^^^
Ta5d6ff`LXMFy Tffd700<https://lxmfy.quad4.io/>Ta5d6ff`_ is a comprehensive and advanced bot creation framework for LXMF, that allows building any kind of automation or bot system running over LXMF and Reticulum. Ta5d6ff`Bot implementations exist Tffd700<https://github.com/lxmfy/awesome-lxmfy-bots>Ta5d6ff`_ for Home Assistant control, LLM integrations, and various other purposes.
Tc9d1d9LXMF Interactive Client
Tc9d1d9^^^^^^^^^^^^^^^^^^^^^^^
Ta5d6ff`LXMF Interactive Client Tffd700<https://github.com/fr33n0w/lxmf-cli>Ta5d6ff`_ is a feature-rich, terminal-based LXMF messaging client with many advanced features and an extensible plugin architecture.
Tc9d1d9RNS FileSync
Tc9d1d9^^^^^^^^^^^^
The Ta5d6ff`RNS FileSync Tffd700<https://git.quad4.io/RNS-Things/RNS-Filesync>Ta5d6ff`_ program enables automatic file synchronization between devices without requiring central servers, internet connectivity, or cloud services. It works over any network medium supported by Reticulum, including radio, LoRa, WiFi, or the internet, making it ideal for off-grid, privacy-focused, and resilient file sharing.
Tc9d1d9Micron Parser JS
Tc9d1d9^^^^^^^^^^^^^^^^
Ta5d6ff`Micron Parser JS Tffd700<https://github.com/RFnexus/micron-parser-js>Ta5d6ff`_ is the JavaScript-based parser for the Micron markup language, that most web-based Nomad Network browsers use. If you want to make utilities or tools that display Micron pages, this library is essential.
Tc9d1d9RNMon
Tc9d1d9^^^^^
Ta5d6ff`RNMon Tffd700<https://github.com/lbatalha/rnmon>Ta5d6ff`_ is a monitoring daemon designed to monitor the status of multiple RNS applications and push the metrics to an InfluxDB instance over the influx line protocol.
Tb4b4b4.. Tff7b72rawTb4b4b4:: latex
\newpage
Tc9d1d9Protocols
Tc9d1d9=========
A number of standard protocols have emerged through real-world usage and testing in the Reticulum community. While you may sometimes want to use completely custom protocols and implementations when writing Reticulum-based software, using these protocols provides application developers with an easy way to implement advanced functionality quickly and effortlessly. Using them also ensures compatibility and interoperability between many different client applications, creating an open communications ecosystem where users are free to choose the applications that suit their needs, while remaining connected to everyone else.
Tc9d1d9LXMF
Tc9d1d9^^^^
Ta5d6ff`LXMF Tffd700<https://github.com/markqvist/lxmf>Ta5d6ff`_ is a simple and flexible messaging format and delivery protocol that allows a wide variety of applications, while using as little bandwidth as possible. It offers zero-conf message routing, end-to-end encryption and Forward Secrecy, and can be transported over any kind of medium that Reticulum supports.
LXMF is efficient enough that it can deliver messages over extremely low-bandwidth systems such as packet radio or LoRa. Encrypted LXMF messages can also be encoded as QR-codes or text-based URIs, allowing completely analog paper message transport.
Using Propagation Nodes, LXMF also offer a way to store and forward messages to users or endpoints that are not directly reachable at the time of message emission.
Tc9d1d9LXST
Tc9d1d9^^^^
Ta5d6ff`LXST Tffd700<https://github.com/markqvist/lxst>Ta5d6ff`_ is a simple and flexible real-time streaming format and delivery protocol that allows a wide variety of applications, while using as little bandwidth as possible. It is built on top of Reticulum and offers zero-conf stream routing, end-to-end encryption and Forward Secrecy, and can be transported over any kind of medium that Reticulum supports. It currently powers real-time voice and telephony applications over Reticulum.
Tc9d1d9RRC
Tc9d1d9^^^
The Ta5d6ff`Reticulum Relay Chat Tffd700<https://rrc.kc1awv.net/>Ta5d6ff`_ protocol, is a live chat system built on top of the Reticulum Network Stack. It exists to provide near real-time group communication without dragging in message history databases, federation machinery, or architectural guilt.
RRC is intentionally simple. It does not pretend to be email, a mailbox, or a distributed archive. It behaves more like a conversation in a room. If you were there, you heard it. If you were not, you did not. That is not a bug, that is the point.
Tc9d1d9Interface Modules & Connectivity Resources
Tc9d1d9==========================================
This section provides a list of various community-provided interface modules, guides and resources for creating Reticulum networks over special or challenging mediums.
T79c0ff* Custom interface module for running Ta5d6ff`RNS over HTTP Tffd700<https://git.quad4.io/RNS-Things/RNS-over-HTTP>Ta5d6ff`_
T79c0ff* Guide for running Ta5d6ff`Reticulum over ICMP Tffd700<https://github.com/matvik22000/rns-over-icmp>Ta5d6ff`_ using Ta5d6ff``Ta5d6ffPipeInterfaceTa5d6ff``
T79c0ff* Guide for running Ta5d6ff`Reticulum over DNS Tffd700<https://github.com/markqvist/Reticulum/discussions/1002>Ta5d6ff`_ with Iodine
T79c0ff* Guide for running Ta5d6ff`Reticulum over HF radio Tffd700<https://github.com/RFnexus/reticulum-over-hf>Ta5d6ff`_
T79c0ff* Ta5d6ff`Modem73 Tffd700<https://github.com/RFnexus/modem73>Ta5d6ff`_ is a KISS TNC OFDM modem frontend that can be used with Reticulum
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────